\documentclass{beamer}
%\input{PptIntro}
\usepackage[UTF8]{ctex}
\usetheme{PaloAlto}
%\usecolortheme{beaver}
\usepackage{bm,graphicx,multirow,multicol,float,hyperref,mathrsfs}
\hypersetup{colorlinks=true} % 彩色使用超级链接
\usepackage{ulem}
\newtheorem{thm}{定理}
\begin{document}
	\logo{\includegraphics[scale=0.051]{SchoolBadge.jpg}} % 嵌入校徽
\title{R 语言学习}
\author{陈普$^{1,2}$}
\institute{1.华东交通大学经济与管理学院\\ 2.华东交通大学产业经济与金融研究院}
\date{2018.1}
\maketitle
\section{R 语言初识}
\begin{frame}{R语言的强大}
\begin{itemize}
	\item 各种回归：OLS、时间序列阈值模型(\texttt{tsDyn})、面板阈值(\texttt{pdR::ptm})、机器学习等
	\item 漂亮的图形：\texttt{ggplot2}
	\item 最新的算法：往往一篇文章就伴随着R代码的发布
	\item 输出到latex的各种方便：\texttt{stargazer}
\end{itemize}
\end{frame}


\begin{frame}{R 语言初识}

\begin{itemize}
	\item 如何获取帮助？
	\item 工作空间是什么？得到和设置工作空间的命令是什么？
	\item 列出当前工作空间的命令是什么？如何删除一个或多个变量？
	\item 如何保存当前工作空间的一个变量或者多个多个变量？保存后的文件后缀名是什么？
	\item 如何读取工作空间数据到当前会话中？
	\item 包是什么？如何安装包？如何载入包？
\end{itemize}
\end{frame}

\section{创建数据}
\begin{frame}{创建数据：向量、矩阵和数组}

\begin{itemize}
	\item 语法：\texttt{a <- c(1,2,3,4)}
	\item 语法：\texttt{y <- matrix(1:20,nrow=5,ncol=4)}
	\item \texttt{?array}，较少使用
	\item 约束：同一向量、矩阵和数组不可混杂不同模式的数据。
	\begin{itemize}
		\item 数值型：浮点型、整型（\texttt{int}）
		\item 字符型：\texttt{character}
		\item 逻辑型：\texttt{logic}
	\end{itemize}	
\end{itemize}
\end{frame}


\begin{frame}{创建数据: 数据框、因子和列表}
	\begin{itemize}	
		\item 数据框：\texttt{?data.frame}
		\item \hypertarget{2-1}{因子}：\texttt{factor}，很少直接创造，往往是读入数据的时候形成\\
		\texttt{data("Affairs",package = 'AER') \# 婚外情数据 \\ Affairs\$ynaffair[Affairs\$affairs >0] <- 1\\
		 Affairs\$ynaffair[Affairs\$affairs == 0] <- 0\\
	 Affairs\$ynaffair <- factor(Affairs\$ynaffair,levels = c(0,1),labels = c('No','Yes'))}
		\item 列表：\texttt{list}
	\end{itemize}
\end{frame}

\begin{frame}{创建数据：外部导入}
\begin{itemize}
	\item 如何输入excel、stata的数据？
	\begin{itemize}
		\item \texttt{xlsx}，之前要安装\texttt{jdk}
		\item \texttt{foreign}：stata, SPSS
	\end{itemize}
	\item 保存数据的两个常用命令：\texttt{save,save.image}，使用帮助查看；
\end{itemize}
\end{frame}


\begin{frame}{一些常用的基础命令}
\includegraphics[scale=0.4]{2-1.png}
\end{frame}

\section{基本数据管理}
\begin{frame}{基本数据管理}
\begin{itemize}
	\item 如何创建一个新的变量？如何在数据框中生成一个新的列？
	\item 如何重命名数据框的列名？
	\item 如何选取数据框中的指定行或指定列？
	\begin{itemize}
		\item 通过下标选：\texttt{a[1,2],a[,1],a[,1],a[1:10,1],a[1,2:3]}
		\item 通过列名选：\\		
		\texttt{library(wooldrige); data(jtrain)\\ jtrain[,'year'];jtrain[,'fcode'];\\
		jtrain[,c('year','fcode')];}
\item 通过美元符号提取列：\\
	\texttt{jtrain\$year}
	\end{itemize}	
\end{itemize}
\end{frame}

\begin{frame}{基本数据管理}
\begin{itemize}
	\item 逻辑运算选子集；\\
	\texttt{library(wooldrige); data(jtrain)\\ jtrain[jtrain\$year==1987,]\\
		jtrain[jtrain\$year==1987 \& jtrain\$fcode==410032,]}
	\item 缺失值：\\
	\texttt{NA,is.na(a)\\ sum(c(1,2,NA,4),na.rm=T)} 
\item 数据排序命令？
\begin{itemize}
	\item \texttt{order(c(4,5,20,14,9)) \# for subscript\\ sort(c(4,5,20,14,9)) \# for original data}
\end{itemize}
\end{itemize}
\end{frame}

\begin{frame}{基本数据管理}
\begin{itemize}
	\item 数据合并: 
	\begin{itemize}
		\item \texttt{example(merge)}
		\item \texttt{reshape2}包：\texttt{melt, dcast}
	\end{itemize}	
	\item 日期与字符串之间的转换；
\begin{itemize}
	\item \texttt{strDate <- as.Date(c('2018-1-20','2018-1-22'))\\ as.character(strDate)\\
	difftime(Sys.Date(),as.Date('2018-1-19'),units='weeks')}
\end{itemize}
\item 数值、字符串、矩阵，数据框之间的转换\\
\texttt{as.numeric; as.matrix; as.data.frame}
\end{itemize}
\end{frame}

\section{回归模型}
\begin{frame}{简单的回归分析}
\textbf{代码：}

\texttt{library(wooldridge); data("wage1")\\
log\_wage\_model <- lm(lwage $\sim$ educ, data = wage1)\\
log\_wage\_model <- lm(lwage $\sim$ educ+ exper + tenure, data = wage1)\\
summary(log\_wage\_model)}
\end{frame}

\begin{frame}{公式的通俗写法}
\includegraphics[scale=0.4]{formula.png}
\end{frame}

\begin{frame}{假设检验：系数约束检验(\texttt{car})}
对于模型：
\[  prestige =\beta_0+\beta_1income + \beta_2education+u \]
代码如下：\\		\texttt{library(car)\\ data(Duncan)\\ mod.duncan <- lm(prestige $\sim$ income + education, data=Duncan)\\
		linearHypothesis(mod.duncan, "income = education") \# for $ H_0:\beta_1=\beta_2 $\\
		linearHypothesis(mod.duncan, "2*income = education") \# for $ H_0:2\beta_1=\beta_2 $} 	
\end{frame}

\begin{frame}{其他检验}
\begin{itemize}
	\item  自相关检验:注意数据的顺序是排好的，因为自相关检验针对的时间序列。\\
	\texttt{library(lmtest)\\ dwtest(States\$pop$ \sim $States\$pay+States\$region)}	
	\item  异方差检验:\\
	\texttt{library(lmtest)\\ bptest(States\$pop$ \sim $States\$pay+States\$region)}
	\item 多重共线性：\\
	\texttt{data("States") \# 基础包数据集\\ lmout <- lm(pop$ \sim $pay+region,data=States) \\ vif(lmout) \%>\% sqrt()>2  \# 膨胀因子}
\end{itemize}
\end{frame}

\begin{frame}{时间序列：单位根检验}

\end{frame}

\begin{frame}{虚拟变量回归：因子变量}
多类别的变量，作回归时，可直接输入，自动生成虚拟变量，不必担心虚拟变量陷阱。

\texttt{data("States") \# 基础包数据集\\ lmout <- lm(pop$ \sim $pay+region,data=States) \\ summary(lmout)}
\end{frame}

\begin{frame}{Probit 或者 Logit 模型}
\textbf{定义}：

Probit: $ P(y=1|X=x)=\frac{\exp(\bm{x}'\beta)}{1+\exp(\bm{x}'\beta)} $

Logit:$ P(y=1|X=x)= \frac{1}{\sqrt{2\pi}}\exp(-\frac{\bm{x}'\beta}{2})$

\textbf{估计}：Probit/Logit模型属广义线性模型中，使用\texttt{glm}命令：

\texttt{glm(formula, family = gaussian, data, ...)}
\begin{itemize}
	\item 与普通线性回归一个最大的差别就是多了\texttt{family}参数
	\item \texttt{family}是对误差分布的设置，对于Probit/Logit而言，是二项式分布，使用前面关于婚外情的\hyperlink{2-1}{因子数据}：\\
	\small\texttt{glmout <- glm(ynaffair~gender+age+yearsmarried,data = Affairs,family = binomial(link = 'logit'))}	
\end{itemize}
\end{frame}

\begin{frame}{Probit/Logit模型的解释}

\begin{itemize}
	\item 拟合优度：一般使用伪$ R^2: 1-\frac{\mathscr{L}_{ur}}{\mathscr{L}_0} $
	
	其中：$ \mathscr{L}_{ur} $是估计的对数似然值，$ \mathscr{L}_0 $是只有截距项的0模型的对数似然值。一般不报告，要使用\texttt{logLik(glmout)}抽取对数似然函数。
	\item 系数的解释：Probit/Logit模型可以写为$ P(y=1|\bm{x})=G(\bm{x\beta}) $，其中$G$为对数单位分布函数或标准正态分布函数，其偏效应为，
	\[ \frac{\Delta \hat P(y=1|\bm{x})}{\Delta x_j}=g(\bm{x\bm\beta})\hat \beta_j \]
\end{itemize}


\end{frame}

\begin{frame}{Probit/Logit模型的解释}
	关键在于$ g(\bm{X\beta}) $(密度函数)的计算：
\begin{itemize}
	\item \texttt{predict}
\end{itemize}
多项分布与有序logit回归。
\end{frame}

\section{与stata的交互}
\begin{frame}{调用stata}

\end{frame}

\section{经济学中的一些常见应用}
\begin{frame}{阈值非线性：时间序列}

\end{frame}
\begin{frame}{阈值非线性：面板数据}

\end{frame}
\begin{frame}{微观计量方法：PSM, DID, RD}

\end{frame}
\begin{frame}{Malmquist生产指数: \texttt{productivity}}

\end{frame}
\begin{frame}{Kalman滤波: \texttt{MARSS}}

\end{frame}

\section{画图：\texttt{ggplot2}}

\section{函数的编写}
\begin{frame}{优化算法: \texttt{optextras}}

\end{frame}

\end{document}